home *** CD-ROM | disk | FTP | other *** search
-
-
-
- kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM)))) kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- kmem_debug - kernel memory debug module
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _k_m_e_m__d_e_b_u_g is a kernel memory debug module used to debug kernel memory.
- It is intended to be used only by those involved in writing and debugging
- device drivers or other parts of the kernel.
-
- To use _k_m_e_m__d_e_b_u_g, several steps must be taken to prepare the system:
-
- 1. _k_m_e_m__d_e_b_u_g must be manually installed by the user because it is not
- installed on the system as shipped from the factory. _k_m_e_m__d_e_b_u_g is
- only available if eoe.sw.kdebug has been installed.
-
- 2. Alterations must be made to the file /_v_a_r/_s_y_s_g_e_n/_s_y_s_t_e_m/_i_r_i_x._s_m to
- build a kernel capable of being debugged. _k_m_e_m must be replaced with
- kmem_debug in the /_v_a_r/_s_y_s_g_e_n/_s_y_s_t_e_m/_i_r_i_x._s_m file.
-
- Specifically the line
-
- _I_N_C_L_U_D_E: _k_m_e_m
-
- must be changed to
-
- _I_N_C_L_U_D_E: _k_m_e_m__d_e_b_u_g
-
- 3. The program _a_u_t_o_c_o_n_f_i_g(1M) must be run to generate a new kernel, and
- the system must be rebooted.
-
- There are three kernel tuneable parameters which direct the actions of
- the kmem_debug module.
-
- 1._k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_i_n
- This tuneable indicates the lower bound of the range of zones to
- split.
-
- 2._k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_a_x
- This tuneable indicates the upper bound of the range to split. The
- min and max tuneables split up the zones, but do not make them
- private and do not show the structures which use those zones. In
- order to do that you may want to use _k_m_e_m__s_p_l_i_t__z_o_n_e.
-
- 3._k_m_e_m__s_p_l_i_t__z_o_n_e
- If you suspect there is a memory leak in a particular zone, set
- kmem_split_zone to that zone size. It makes the zone for that size
- private. It shows a separate structure for each zone. You must
- remake the kernel and reboot for this tuneable to start working.
- You may then use icrash to look at the zone, or run the tool
- _m_e_m_l_e_a_k(1M) to generate a report indicating whether there are memory
- leaks.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM)))) kkkkmmmmeeeemmmm____ddddeeeebbbbuuuugggg((((1111MMMM))))
-
-
-
- NNNNOOOOTTTTEEEESSSS
- Zone memory consists of a number of zones of differing sizes. Since
- there is limited table space for zones, structures with sizes close to
- each other are lumped together in the same zone. For example, structures
- that have a size of 712 bytes may be put into the zone listed as size
- 768. In cases like this, you may need to know the exact size of the
- structure you wish to split when using _k_m_e_m__s_p_l_i_t__z_o_n_e. _k_m_e_m__s_p_l_i_t__z_o_n_e
- should not be used with _k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_a_x and
- _k_m_e_m__m_a_k_e__z_o_n_e_s__p_r_i_v_a_t_e__m_i_n. There is limited table space for zones and
- using all three tuneables may result in the configuration of an
- unbootable kernel.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- memleak(1M).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-